<?php

try {
	// On récupère l'identifiant du mariage
	$idMariage = getIdMariage();
	$infosMariage = getInfosMariage($idMariage);
	
	$verifiedCookieUpload = false;
	if (isset($_COOKIE[COOKIE_UPLOAD_PHOTOS])) {
		$value = unserialize($_COOKIE[COOKIE_UPLOAD_PHOTOS]);
		if ($value !== false) {
			$login = $value['login'];
			$passwd = $value['passwd'];
			
			$verifiedCookieUpload = ($login === LOGIN) && ($passwd === hash('sha256', PASSWORD.BOURRAGE));
		}
	}

?>
<div>
	<?php

	//Appel de la page par GET et cookie non authentifié, on oriente vers la page d'authentification
	if (($_SERVER['REQUEST_METHOD'] === 'GET') && !$verifiedCookieUpload) {
	?>
	<p>
	Vous devez vous authentifier avec les login et mot de passe qui vous ont été remis. Si tel n'est pas le cas,
	merci d'envoyer un email à l'adresse kinengue@gmail.com. Les informations vous seront communiquées dans les plus brefs délais!
	</p>
	<p><br /></p>
	<form action="<?php echo getUriUploadPhotos($idMariage); ?>" method="post" name="form_authentication">
		<div class="upload-auth-line-container">
			<div class="left-container width20">
				<label for="login">Login : </label>
			</div>
			<div class="left-container">
				<input type="text" name="login" id="login" value="" />
			</div>
		</div>
		<div class="upload-auth-line-container">
			<div class="left-container width20">
				<label for="passwd">Mot de passe : </label>
			</div>
			<div class="left-container">
				<input type="password" name="passwd" id="passwd" value="" />
			</div>
		</div>
		<div class="upload-auth-line-container">
			<div class="left-container width20">&nbsp;</div>
			<div class="left-container">
				<input type="submit" name="authenticate" value="S'authentifier" />
			</div>
		</div>
	</form>
	<?php
	} elseif (($_SERVER['REQUEST_METHOD'] === 'POST') || $verifiedCookieUpload) {
		//Accession par POST ou cookie vérifié, on vérifie que les paramètres d'authentification son corrects
		if (isset($_POST['upload'])) {
			//Clic sur le bouton upload, on vérifie les params d'authent cachés
			if ($_POST['hidden_login'] !== LOGIN || $_POST['hidden_passwd'] !== hash('sha256', PASSWORD.BOURRAGE)) {
				header('Location: ' . getUriUploadPhotos($idMariage));
				exit;
			}
			$login = $_POST['hidden_login'];
			$passwd = $_POST['hidden_passwd'];
			
			if ($_POST['type_upload'] === 'file') {
				//Envoi de fichiers ici
				traiterEnvoiFichier();
			} elseif ($_POST['type_upload'] === 'photo') {
				traiterEnvoiPhoto();
			}
		} else if (!$verifiedCookieUpload) {
			//Il s'agit d'une demande de connexion, on vérifie que les params sont corrects
			if (!isset($_POST['login']) || $_POST['login'] !== LOGIN || !isset($_POST['passwd']) || $_POST['passwd'] !== PASSWORD) {
				header('Location: ' . getUriUploadPhotos($idMariage));
				exit;
			}
			$login = $_POST['login'];
			$passwd = hash('sha256', $_POST['passwd'].BOURRAGE);
			
			$cookieVal = serialize
							(array
								('login'	=> $login
								,'passwd'	=> $passwd
								)
							);
			
			//On créé le cookie applicatif d'upload de photos
			setcookie(COOKIE_UPLOAD_PHOTOS, $cookieVal, time() + COOKIE_UPLOAD_LIFE_TIME_MIN*60);
		}
	?>
	
	<div class="blockForm">
		<?php
			if (isset($erreurFile) && trim($erreurFile) !== '') {
		?>
		<p style="color:<?php echo (isset($colorEnvoiFile) && trim($colorEnvoiFile) !== '') ? $colorEnvoiFile : 'black'; ?>">
			<?php echo $erreurFile; ?>
		</p>
		<?php
		}
		?>
	
		<p>
			Envoyez ici votre fichier vidéo (formats <?php echo implode(', ', $extVideosAdmises); ?>) ou .zip ou tout autre fichier.
			Ce fichier sera traité dans un délai de deux jours maximum
		</p>
		<form method="post" action="<?php echo getUriUploadPhotos($idMariage); ?>" enctype="multipart/form-data">
			 <!-- On limite le fichier à 1Go -->
			<input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
			<input type="hidden" name="type_upload" value="file" />
			<input type="hidden" name="hidden_login" value="<?php echo $login;?>" />
			<input type="hidden" name="hidden_passwd" value="<?php echo $passwd;?>" />
			
			<div class="upload-video-line-container">
				<div class="left-container width35">
					<label for="upload-files">Fichier à charger (inférieur à 1Go) : </label>
				</div>
				<div class="left-container">
					<input type="file" name="upload_files" id="upload-files" />
				</div>
			</div>
			<div class="upload-video-line-container">
				<div class="left-container width35">&nbsp;</div>
				<div class="left-container">
					<input type="submit" name="upload" value="Envoyer le fichier" />
				</div>
			</div>
		</form>
	</div>
	
	<br />
	<div class="blockForm">
		<?php
			if (isset($erreurPhoto) && trim($erreurPhoto) !== '') {
		?>
		<p style="color:<?php echo (isset($colorEnvoiPhoto) && trim($colorEnvoiPhoto) !== '') ? $colorEnvoiPhoto : 'black'; ?>">
			<?php echo $erreurPhoto; ?>
		</p>
		<?php
		}
		?>
		
		<p>
			Envoyez ici vos photos (formats <?php echo implode(', ', $extPhotosAdmises).'). ' . NB_PHOTOS_UPLOAD; ?> maximum par envoi!<br />
			Vos photos soumises seront visibles sur la page "<?php echo '<a href="/wedding/'.$infosMariage[KEY_URI_ALIAS].'/'.tabGetIdByCode('TAB_PHOTO_CONSULTATION').'">'.tabGetName(tabGetIdByCode('TAB_PHOTO_CONSULTATION')).'</a>'?>" dans <?php echo COOKIE_PHOTOS_LIFE_TIME_SEC / 60 ?> minutes.
		</p>
		<form method="post" action="<?php echo getUriUploadPhotos($idMariage); ?>" enctype="multipart/form-data">
			<!-- On limite le fichier à 20Mo -->
			<input type="hidden" name="MAX_FILE_SIZE" value="20000000" />
			<input type="hidden" name="type_upload" value="photo" />
			<input type="hidden" name="hidden_login" value="<?php echo $login;?>" />
			<input type="hidden" name="hidden_passwd" value="<?php echo $passwd;?>" />
			
			<?php
				for ($i=1; $i<=NB_PHOTOS_UPLOAD; $i++) {
					echo
						'<div class="upload-photo-line-container">
							<div class="left-container width10">
								<label for="upload-photo'.$i.'">Photo '.$i.' : </label>
							</div>
							<div class="left-container">
								<input type="file" name="upload_photo'.$i.'" id="upload-photo'.$i.'" />
							</div>
						</div>';
				}
			?>
			<div class="upload-photo-line-container">
				<div class="left-container width10">&nbsp;</div>
				<div class="left-container">
					<input type="submit" name="upload" value="Envoyer les photos" />
				</div>
			</div>
		</form>
	</div>
	<?php
	}
	?>

</div>

<?php } // try {
	catch (Exception $e) {
		redirectErrorPage($e, 'TAB_PHOTO_UPLOAD', URI_ERROR_PAGE);
	}
?>